package ejb.reservationManagement;

import java.util.List;

import ejb.dto.ReservationDTO;

public interface ReservationMgr {

	/**
	 * Return ReservationDTO of Reservation identified by <code>id</code>
	 * @param id
	 * @return ReservationDTO
	 */
	ReservationDTO getReservationDTO(int id);

	/**
	 * Return all ReservationDTO
	 * @return all ReservationDTO
	 */
	List<ReservationDTO> getAllReservationsDTO();

	/**
	 * Insert Reservation identified by <code>newReservation</code> in database
	 * @param newReservation
	 * @return <true> if the operation on database is successful, <false> if not
	 */
	boolean insertReservation(ReservationDTO newReservation);

	/**
	 * Check the validity of Reservation <code>newReservation</code>
	 * @param newReservation
	 * @return String of validation
	 */
	String validateReservation(ReservationDTO newReservation);
	
	/**
	 * Return all loggedUser's ReservationDTOs
	 * @return all ReservationDTO
	 */
	List<ReservationDTO> getMyReservationsDTO();

}
